package com.zut.chat.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 聊天消息实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("chat_message")
public class ChatMessage {
    
    @Id(keyType = KeyType.Auto)
    private Long id;
    
    /**
     * 发送者昵称
     */
    private String senderNickname;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 消息类型 (TEXT, SYSTEM, JOIN, LEAVE)
     */
    private String messageType;
    
    /**
     * 发送时间
     */
    private LocalDateTime sendTime;
    
    /**
     * 会话ID
     */
    private String sessionId;
    
    /**
     * 图片URL（当消息类型为IMAGE时使用）
     */
    private String imageUrl;
    
    /**
     * 视频URL（当消息类型为VIDEO时使用）
     */
    private String videoUrl;
    
    /**
     * 视频标题（当消息类型为VIDEO时使用）
     */
    private String videoTitle;
}
